//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////@

// Η μέθοδος "prosarmogiKinisisPK" αναλαμβάνει την προσαρμογή των κινήσεων τύπου "PK",
// οι οποίες αφορούν σε νέους παίκτες που πρέπει να εισαχθούν στο σκηνικό. Πράγματι,
// στα στοιχεία τού παίκτη που μεταφέρει το συγκεκριμένο είδος κίνησης στο property "p",
// περιλαμβάνουν προσωπικά δεδομένα που αφορούν στις σχέσεις του παίκτη, καθώς επίσης
// και στις πληροφορίες προφίλ.

Sinedria.prototype.prosarmogiKinisisPK = function(kinisi) {
	var endiaferomenos;

	endiaferomenos = this.pektisGet();
	if (kinisi.p.loginGet() == endiaferomenos) return false;

	// Η συνεδρία παραλαβής δεν αφορά στον συγκεκριμένο παίκτη, επομένως θα πρέπει
	// να γίνει προσαρμογή. Για το σκοπό αυτό κατασκευάζω μια προσωρινή κίνηση από
	// την οποία θα αφαιρέσω τα προσωπικά δεδομένα που δεν αφορούν τη συγκεκριμένη
	// συνεδρία παραλαβής. Αυτό θα γίνει επίσης με προσωρινό παίκτη στον οποίον θα
	// εφαρμόσω προσαρμογή.

	k = new Kinisi({
		'?': kinisi.idosGet(),
		'p': new Pektis(kinisi.p).pektis2object().pektisProsarmogi(endiaferomenos),
	});

	// Στην αρχική κίνηση εντάσσω property προσαρμογής με την προσαρμοσμένη κίνηση.
	// Αυτή η προσαρμοσμένη κίνηση είναι προφανώς διαφορετική για κάθε συνεδρία
	// παραλαβής και αυτός είναι ο λόγος που στο συγκεκριμένο είδος κίνησης
	// επανακατασκευάζουμε την προσαρμοσμένη κίνηση κάθε φορά.

	kinisi.prosarmosmeniSet(JSON.stringify(k));
	return true;
}

// Η μέθοδος "prosarmogiKinisisET" αναλαμβάνει την προσαρμογή των κινήσεων τύπου "ET",
// οι οποίες αφορούν σε επιλογή τραπεζιού.

Sinedria.prototype.prosarmogiKinisisET = function(kinisi) {
	var endiaferomenos, partida, aftousia, k;

	endiaferomenos = this.pektisGet();
	if (kinisi.p == endiaferomenos) return false;

	if (kinisi.prosarmosmeniGet()) return true;

	// Η συνεδρία παραλαβής δεν αφορά στον συγκεκριμένο παίκτη, επομένως θα πρέπει
	// να γίνει προσαρμογή. Για το σκοπό αυτό κατασκευάζω μια προσωρινή κίνηση από
	// την οποία θα αφαιρέσω τα στοιχεία παρτίδας.

	partida = kinisi.d;
	delete kinisi.d;

	aftousia = kinisi.aftousiaGet();
	delete kinisi['='];

	k = new Kinisi(kinisi);
	kinisi.prosarmosmeniSet(JSON.stringify(k));

	kinisi.d = partida;
	kinisi['='] = aftousia;

	return true;
}
